Reinforcement Learning Course
The project involved teaching Reinforcement Learning to Master's students at Epitech Montpellier. The course took place between September 2023 and January 2024, with a focus on practical applications and project-based learning. The course was designed to provide students with a solid understanding of reinforcement learning concepts and their applications in real-world scenarios.
Tasks & Objectives
As a teaching assistant, my role involved introducing key concepts in reinforcement learning, guiding students through their projects, and ensuring they understood the underlying principles. One of the main objectives was to help students develop practical skills in implementing reinforcement learning algorithms and applying them to solve real-world problems.
Success criteria included not only students' ability to implement reinforcement learning algorithms but also their understanding of the theoretical foundations and their ability to justify their algorithmic choices. A key objective was to encourage critical thinking and problem-solving skills, allowing students to tackle complex problems independently.
Actions and Development
My first step was to design a comprehensive curriculum that balanced theoretical concepts with practical applications. I then created a series of Jupyter notebooks to guide students through the implementation of various reinforcement learning algorithms. For the final project, I provided a framework that allowed students to explore different aspects of reinforcement learning while maintaining a clear structure.
Regular interactions with students through office hours and project reviews facilitated their learning. Collaboration with other teaching assistants was crucial for developing a consistent approach to teaching and assessment. Despite the complexity of reinforcement learning concepts, implementing practical exercises represented a major challenge but also a learning opportunity.
Key decisions were made collectively during weekly teaching team meetings. For the project framework, I presented a Proof of Concept (POC) before implementing the complete solution.
Results
The results are multiple: students successfully implemented reinforcement learning algorithms, improved their understanding of theoretical concepts, and developed critical thinking skills. The project framework allowed students to explore different aspects of reinforcement learning while maintaining a clear structure. Additionally, the Jupyter notebooks provided a valuable resource for students to learn at their own pace.
I learned to effectively communicate complex concepts, to design engaging and challenging projects, and to provide constructive feedback. Finally, the experience of teaching reinforcement learning strengthened my own understanding of the subject and improved my ability to explain complex ideas clearly.
Technical Stack
The technologies used include: Python, Jupyter Notebooks, NumPy, Gymnasium, as well as Markdown for documentation. For the project framework, I chose to use a combination of Python and Jupyter notebooks, while other technological choices were made to align with the course objectives. The course, complex in terms of both theoretical and practical components, required mastery of both teaching and technical skills. Existing student knowledge gaps also posed a challenge, which I addressed by providing additional resources and support throughout the course. Finally, learning to effectively use Jupyter notebooks for teaching constituted an important step in improving the learning experience.